#!/bin/bash

# 显示彩色输出
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
RED='\033[0;31m'
NC='\033[0m' # No Color

echo -e "${GREEN}=========================================${NC}"
echo -e "${GREEN}   图片优化脚本   ${NC}"
echo -e "${GREEN}=========================================${NC}"

# 检查是否安装了imagemagick
if ! command -v convert &> /dev/null; then
    echo -e "${YELLOW}正在安装ImageMagick...${NC}"
    apt update
    apt install -y imagemagick
    
    if ! command -v convert &> /dev/null; then
        echo -e "${RED}安装ImageMagick失败，无法继续优化图片${NC}"
        exit 1
    fi
fi

echo -e "${GREEN}开始优化图片...${NC}"

# 图片目录
IMAGE_DIR="frontend/public/images/products"

# 创建临时目录
TEMP_DIR=$(mktemp -d)

# 遍历所有jpg图片
for img in "$IMAGE_DIR"/*.jpg; do
    if [ -f "$img" ]; then
        filename=$(basename "$img")
        echo -e "${YELLOW}处理: $filename${NC}"
        
        # 获取原始大小
        original_size=$(du -h "$img" | cut -f1)
        
        # 创建临时文件
        temp_file="$TEMP_DIR/$filename"
        
        # 优化图片 - 调整质量为70%，这是一个平衡文件大小和质量的好选择
        convert "$img" -strip -quality 70 -resize "400x400>" "$temp_file"
        
        # 替换原始文件
        mv "$temp_file" "$img"
        
        # 获取优化后大小
        new_size=$(du -h "$img" | cut -f1)
        
        echo -e "${GREEN}$filename: $original_size -> $new_size${NC}"
    fi
done

# 清理临时目录
rm -rf "$TEMP_DIR"

echo -e "${GREEN}图片优化完成!${NC}"
echo -e "${GREEN}所有图片已被优化版本替换，无需备份${NC}"
echo -e "${YELLOW}注意: 如果图片质量不理想，可以调整脚本中的quality参数(当前为70%)${NC}" 